package com.zatech.cgnci.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zatech.cgnci.project.dto.*;
import com.zatech.cgnci.project.entity.CgnciReInsuranceCompanyDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zatech.cgnci.project.vo.ApprovalRecordVO;
import com.zatech.cgnci.project.vo.CgnciReInsuranceCompanyPageVO;
import com.zatech.cgnci.project.vo.CgnciReInsuranceCompanyMainVO;

import java.util.List;

/**
 * <p>
 * 再保公司表 服务类
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
public interface CgnciReInsuranceCompanyService extends IService<CgnciReInsuranceCompanyDO> {

    IPage<CgnciReInsuranceCompanyPageVO> pageInsuranceCompany(CgnciReInsuranceCompanyQueryDTO dto);

    CgnciReInsuranceCompanyMainVO detail(Long id);

    CgnciReInsuranceCompanyDO saveOrUpdateInsuranceCompany(CgnciReInsuranceCompanySaveOrUpdateDTO updateDTO);

    CgnciReInsuranceCompanyDO nextEdit(Long id);

    void submit(FlowTaskSubmitDTO flowTaskDTO);

    void approve(FlowTaskApprovalDTO flowTaskDTO);

    void back(FlowTaskBackDTO flowTaskDTO);

    void signOut(Long id);

    List<ApprovalRecordVO> log(Long id);


}
